/**
 * 四川和河南方言测试工具
 * 在浏览器控制台中使用
 */

// 方言测试工具
window.dialectTest = {
    // 测试四川话
    async testSichuan() {
        console.log('🎤 测试四川话...');

        if (window.voiceChatManager) {
            // 设置四川话
            window.voiceChatManager.setTtsParams({
                vcn: 'xiaorong',
                speed: 50,
                volume: 50,
                pitch: 50
            });

            // 停止当前播放
            window.voiceChatManager.stopSpeaking();

            // 等待一下
            await new Promise(resolve => setTimeout(resolve, 500));

            // 测试语音
            await window.voiceChatManager.testVoice('你好，我是四川话，这是我的声音效果。');

            console.log('✅ 四川话测试完成');
        } else {
            console.error('❌ voiceChatManager不存在');
        }
    },

    // 测试河南话
    async testHenan() {
        console.log('🎤 测试河南话...');

        if (window.voiceChatManager) {
            // 设置河南话
            window.voiceChatManager.setTtsParams({
                vcn: 'xiaokun',
                speed: 50,
                volume: 50,
                pitch: 50
            });

            // 停止当前播放
            window.voiceChatManager.stopSpeaking();

            // 等待一下
            await new Promise(resolve => setTimeout(resolve, 500));

            // 测试语音
            await window.voiceChatManager.testVoice('你好，我是河南话，这是我的声音效果。');

            console.log('✅ 河南话测试完成');
        } else {
            console.error('❌ voiceChatManager不存在');
        }
    },

    // 测试所有方言
    async testAllDialects() {
        console.log('🎤 测试所有方言...');

        const dialects = [
            { name: '四川话', vcn: 'xiaorong', text: '你好，我是四川话，这是我的声音效果。' },
            { name: '河南话', vcn: 'xiaokun', text: '你好，我是河南话，这是我的声音效果。' }
        ];

        for (let i = 0; i < dialects.length; i++) {
            const dialect = dialects[i];
            console.log(`🎤 测试 ${dialect.name} (${i + 1}/${dialects.length})`);

            try {
                if (window.voiceChatManager) {
                    window.voiceChatManager.setTtsParams({
                        vcn: dialect.vcn,
                        speed: 50,
                        volume: 50,
                        pitch: 50
                    });

                    window.voiceChatManager.stopSpeaking();
                    await new Promise(resolve => setTimeout(resolve, 500));
                    await window.voiceChatManager.testVoice(dialect.text);
                    console.log(`✅ ${dialect.name} 测试完成`);
                }

                // 等待播放完成
                await new Promise(resolve => setTimeout(resolve, 3000));

            } catch (error) {
                console.error(`❌ ${dialect.name} 测试失败:`, error);
            }
        }

        console.log('🎤 所有方言测试完成');
    },

    // 检查当前TTS参数
    checkTtsParams() {
        console.log('🔍 检查当前TTS参数...');

        if (window.voiceChatManager) {
            const params = window.voiceChatManager.ttsParams;
            console.log('📋 当前TTS参数:');
            console.log('  - vcn:', params.vcn);
            console.log('  - speed:', params.speed);
            console.log('  - volume:', params.volume);
            console.log('  - pitch:', params.pitch);
        } else {
            console.error('❌ voiceChatManager不存在');
        }
    }
};

// 快速测试函数
window.testSichuan = async function () {
    console.log('🎤 快速测试四川话...');
    await window.dialectTest.testSichuan();
};

window.testHenan = async function () {
    console.log('🎤 快速测试河南话...');
    await window.dialectTest.testHenan();
};

window.testDialects = async function () {
    console.log('🎤 快速测试所有方言...');
    await window.dialectTest.testAllDialects();
};

window.checkTts = function () {
    console.log('🔍 检查TTS参数...');
    window.dialectTest.checkTtsParams();
};

console.log('🎤 四川和河南方言测试工具已加载！');
console.log('📖 使用方法:');
console.log('  - testSichuan() - 测试四川话');
console.log('  - testHenan() - 测试河南话');
console.log('  - testDialects() - 测试所有方言');
console.log('  - checkTts() - 检查TTS参数');
